YOLO V4 :win10+cpu环境的体验 |
您所在的位置:网站首页 › opencv44 yolov4 › YOLO V4 :win10+cpu环境的体验 |
1、前言
Yolo V3已经体验了,接下来是V4版本。 关于V4版本,学术界褒贬不一。从工业界实际应用角度看,V4做了不少的优化,精度提升了10%,速度提升了12%。详细参见: 《如何评价新出的V4》(https://www.zhihu.com/question/390191723?rf=390194081); 《yolo V4分析》(https://www.cnblogs.com/wujianming-110117/p/12807152.html)。
因此,V4必须要体验和研究一下。 2、下载和安装 关于windows环境下,使用yolo V4,参考了网上的几篇文章,大同小异,如:https://blog.csdn.net/weixin_43723614/article/details/105772081。 V4版本最好有GPU,奈何我的笔记本电脑配置的显卡是:Intel(R) UHD Graphics 620,没法用GPU。 因此我只能用CPU版本。于是cuda10.0和cuDNN7的安装就省略了。 2.1、下载v4代码 代码地址:https://github.com/AlexeyAB/darknet Download zip或git clone方式都可以(我都试过一遍)。 2.2、安装OpenCV 到官网下载,我下载的是open 4.2.0版本,win10系统,支持VS2015。(opencv-4.2.0-vc14_vc15.exe)。 这个实际是个压缩包,exe执行解压缩。 然后按照引用网文的做法,配置OPENCV_DIR环境变量,在Path中增加:opencv\build\x64\vc14\bin的路径(其它路径可不加)。 2.3、使用gcc编译的问题 一开始,我按照V3的编译的方法,即使用cygwin来编译。 用cygwin64 terminal工具,直接在代码的根目录下,输入make,编译OK,生成了darknet.exe。 执行图片检测: darknet.exe detect cfg/yolov3.cfg yolov3.weights test.jpg可以的。 再下载一个yolov4.weights文件,执行: darknet.exe detect cfg/yolov4.cfg yolov4.weights test.jpg也是可以的。 但opencv没有用起来,提示: OpenCV isn't used - data augmentation will be slow.Not compiled with OpenCV, saving to predictions.png instead于是修改makefile文件,将第4行的:OPENCV=0改为OPENCV=1。 于是问题来了。 1)首先是,pkg-config命令不能识别(makefile文件的第90行),通过更新cygwin的安装,增加pkg-config项,得以解决。 2)其次,提示:需要将包含opencv.pc文件的目录,配置到环境变量PKG_CONFIG_PATH。我上网查了一下,这是linux的opencv版本才有的文件。 折腾了一番,还是搞不定opencv。不得已,使用网上的CMake的方法。 2.4、使用CMake 参考之前引文的方法,先到官网下载CMake,然后类似配置。 配置VS2015 VC14。 关于配置,我的电脑不支持GPU,因此ENABLE_CUDA、ENABLE_CUDANN、ENABLE_CUDANN_HALF不勾选。 一个小坑:USE_INTEGRATED_LIBS必须勾选,我一不小心去掉勾选,结果报了一堆下列错误: 错误 C2011 “timespec”:“struct”类型重定义 darknet E:\workspace\darknet\3rdparty\pthreads\include\pthread.h 320配置(configure)完成后,然后generate,没有问题。然后再点击open project,打开VS2015。 选择:release、x64,build all。 OK。 将编译生成的darknet.exe复制到:\build\darknet\x64\目录下。此为darknet.exe的运行环境。 3、效果体验 图片检测: darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg![]() 视频检测: darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4由于只使用CPU,没有GPU,openCV显示视频非常卡顿(FPS=0.2)。网上说,2G内存都没法试验,会内存溢出。我的电脑内存有16G,故只是慢一些。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |